// 导入axios
import axios from "axios";
// 使用element-ui Message做消息提醒
import { Message } from "element-ui";
//获取tocken
import {getToken} from "@/utils/storage.js";



// 1. 创建新的axios实例，
const srvHttp = axios.create({
    // 公共接口--webpack中的全局变量process.env.BASE_API
    // 为了适应多个后台或者开发的时候的api地址和发布的时候的api地址不一样这种情况
    baseURL: process.env.VUE_APP_BASE_API,
    // 超时时间 单位是ms，这里设置了3s的超时时间
    timeout: 3 * 1000,
});


// 2. 请求拦截器
srvHttp.interceptors.request.use(
    (config) => {
        // 发请求前做的一些处理，数据转化，配置请求头，设置token,设置loading等，根据需求去添加

        config.data = JSON.stringify(config.data); // 数据转化,也可以使用qs转换
        config.headers = {
            "Content-Type": "application/json", // 配置请求头
        };
        //注意使用token的时候需要引入cookie方法或者用本地localStorage等方法，推荐js-cookie
        const token = getToken(); // 这里取token之前，你肯定需要先拿到token,存一下
        if (token) {
            config.headers['Authorization'] = token; // 如果要求携带在请求头中
        }

        return config;
    },
    (error) => {
        Promise.reject(error);
    }
);

export default srvHttp;
